Towards Vulnerability Discovery Using Staged Program Analysis
نویسندگان
چکیده
Eliminating vulnerabilities from low-level code is vital for securing software. Static analysis is a promising approach for discovering vulnerabilities since it can provide developers early feedback on the code they write. But, it presents multiple challenges not the least of which is understanding what makes a bug exploitable and conveying this information to the developer. In this paper, we present the design and implementation of a practical vulnerability assessment framework, called Mélange. Mélange performs data and control flow analysis to diagnose potential security bugs, and outputs well-formatted bug reports that help developers understand and fix security bugs. Based on the intuition that real-world vulnerabilities manifest themselves across multiple parts of a program, Mélange performs both local and global analyses in stages. To scale up to large programs, global analysis is demand-driven. Our prototype detects multiple vulnerability classes in C and C++ code including type confusion, and garbage memory reads. We have evaluated Mélange extensively. Our case studies show that Mélange scales up to large codebases such as Chromium, is easy-to-use, and most importantly, capable of discovering vulnerabilities in real-world code. Our findings indicate that static analysis is a viable reinforcement to the software testing tool set.
منابع مشابه
اثربخشی برنامه آموزشی رفتارهای سالم در نگرش دانشجویان نسبت به سوءمصرف مواد مخدر و کاهش آسیبپذیری نسبت به اعتیاد
Objective: The purpose of this study was developing the healthy behavior to change the attitude of students in order to decrease their tendency towards substance abuse and Reduction of Addiction Vulnerability Level. Method: This research was carried out by two methods of descriptive-analytic and quasi experimental design. First, 60 students of Shahid Beheshti University were selected randomly (...
متن کاملTowards Vulnerability Discovery Using Extended Compile-time Analysis
Eliminating vulnerabilities from low-level code is vital for securing software. Static analysis is a promising approach for discovering vulnerabilities since it can provide developers early feedback on the code they write. But, it presents multiple challenges not the least of which is understanding what makes a bug exploitable and conveying this information to the developer. In this paper, we p...
متن کاملاثر بخشی آموزش مؤلفههای تابآوری برکاهش آسیبپذیری نسبت به اعتیاد و تغییر نگرش دانشآموزان نسبت به مصرف مواد
Introduction: The aim of this study was to examine the effectiveness of resiliency components education program on reduction of addiction vulnerability level and changing students' attitude towards substance use. Method: The research method was an experimental design with pretest – post test and control group. The sample was 50 students who were selected by clustering random sampling of first y...
متن کاملProspecting polymetallic mineralization in Ardestan area, Central Iran, using fractal modeling and staged factor analysis
The purpose of this study is to determine geochemical anomalies on lithogeochemical data from Ardestan area, Central Iran, using concentration-number (C-N) fractal modeling and staged factor analysis. Staged factor analysis is used to the recognition of genetic correlation and elimination of non-indicator elements in three steps. Factor scores of elements were calculated and geochemical data cl...
متن کاملTowards Efficient Heap Overflow Discovery
Heap overflow is a prevalent memory corruption vulnerability, playing an important role in recent attacks. Finding such vulnerabilities in applications is thus critical for security. Many state-of-art solutions focus on runtime detection, requiring abundant inputs to explore program paths in order to reach a high code coverage and luckily trigger security violations. It is likely that the input...
متن کامل